Voilà pour les Pré-requis
Tous les Pré-Requis sont bons.
lspci -v | grep "VGA\|Audio\|Kernel driver in use: snd_hda_intel\|Kernel driver in use: nouveau\|Kernel driver in use: nouveaufb\|Kernel driver in use: radeon"
| Slots | Type | Désignation | VendorID:DeviceID | Kernel Driver | Notes |
|---|---|---|---|---|---|
| 00:14.2 | Audio device | AMD/ATI Intel HDA | 1002:4383 | snd_hda_intel | Carte-mère |
| 01:00.0 | VGA (GPU) | GTX-260 | 10de:05e2 | nouveau | Linux (HOTE) |
| 02:00.0 | VGA (GPU | R9-270x (Video) | 1002:6810 | radeon | VFIO (GUEST) |
| 02:00.1 | Audio device | R9-270x (HDMI) | 1002:aab0 | snd_hda_intel | VFIO (GUEST) |
Ma Carte graphique est branchée en HDMI et donc les signaux Vidéo / Son ont été séparés
On ne pourra pas interdire le pilote " snd_hda_intel" car il est présent sur la carte son lié à la fois à la carte-mère et à la sortie son inclus dans le HDMI. (Sortie HDMI)
Connaitre la marque de son processeur:
lscpu | grep name
Editer /etc/modules (Supprimer le module kvm_XXX qui correspond pas à votre processeur.)
pci_stub vfio vfio_iommu_type1 vfio_pci kvm kvm_amd kvm_intel
Vérification:
lspci -v | grep "VGA\|Audio\|Kernel driver in use: snd_hda_intel\|Kernel driver in use: nouveau\|Kernel driver in use: nouveaufb\|Kernel driver in use: radeon"
| Slots | Type | Désignation | VendorID:DeviceID | Kernel Driver | Notes |
|---|---|---|---|---|---|
| 00:14.2 | Audio device | AMD/ATI Intel HDA | 1002:4383 | snd_hda_intel | Carte-mère |
| 01:00.0 | VGA (GPU) | GTX-260 | 10de:05e2 | nouveau | Linux (HOTE) |
| 02:00.0 | VGA (GPU | R9-270x (Video) | 1002:6810 | vfio-pci | VFIO (GUEST) |
| 02:00.1 | Audio device | R9-270x (HDMI) | 1002:aab0 | vfio-pci | VFIO (GUEST) |
On peux voir que le "Kernel Driver" est "vfio-pci" .
/!\ Ignorer le "Kernel Modules /!\
| Slots | Type | Désignation | VendorID:DeviceID | Kernel Driver | Notes |
|---|---|---|---|---|---|
| 00:14.2 | Audio device | AMD/ATI Intel HDA | 1002:4383 | snd_hda_intel | Carte-mère |
| 01:00.0 | VGA (GPU) | GTX-260 | 10de:05e2 | nouveau | Linux (HOTE) |
| 02:00.0 | VGA (GPU | R9-270x (Video) | 1002:6810 | vfio-pci | VFIO (GUEST) |
| 02:00.1 | Audio device | R9-270x (HDMI) | 1002:aab0 | vfio-pci | VFIO (GUEST) |
Exemple: vfio-pci ids=1002:6810,1002:aab0 #vfio-pci ids=<ADRESSE VendorID:DeviceID><Virgule><ADRESSE VendorID:DeviceID> #Aucune Guillemet #Exemple: options
Exemple: DEVICES="0000:02:00.0 0000:02:00.1" #Attention au Guillemet (Début et fin de toutes les adresse) #Chaque début d'adresse commence par __**0000:**__ (Attention au : après les 0000) #Un espace entre chaque adresse (sauf la première collé à la guillemet)
AMD:
[0.251399] [Firmware Bug]: AMD-Vi: IOAPIC[9] not in IVRS table <= SouthBridge Inconnus (Erreur 9) \\ [0.251403] [Firmware Bug]: AMD-Vi: IOAPIC[10] not in IVRS table <= Northbridge Inconnus (Erreur 10) \\ L'erreur 9 correspond au SMBus et l'erreur 10 au IOMMU.
| Slot | Type | Désignation | Code Erreur |
|---|---|---|---|
| 00:00.2 | IOMMU | Advanced Micro Devices, Inc. [AMD/ATI] RD990 I/O Memory Management Unit | 10 |
| 00:14.0 | SMBus | Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller (rev 42) | 9 |
| Base | Erreur | Slot |
|---|---|---|
| ivrs_ioapic | [10]= | 00:00.2 |
| ivrs_ioapic | [9]= | 00:14.0 |
Ce qui donne : ivrs_ioapic[9]=00:14.0 ivrs_ioapic[10]=00:00.2
Editer /etc/default/grub (Modifier la ligne selon votre cas)
Avant:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Après :
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ivrs_ioapic[9]=00:14.0 ivrs_ioapic[10]=00:00.2"
Ensuite faire un :
update-grub
Redémarrer
dmesg | grep "Found IOMMU\|remapping\|vfio"
[ 1.597597] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40 [ 1.597598] AMD-Vi: Interrupt remapping enabled [ 1.597712] AMD-Vi: Lazy IO/TLB flushing enabled <Manque quelque infos de ma part !
Script qemu (Samba / Synergy)
http://pastebin.com/1uxiBfx6
Fix Synergy: (Bouton Suivant / Précédent / touch alt+gr)
Editer le fichier synergy.conf
Dans la Section "screens" de la machine virtuel ajouter en bas. altgr = alt Dans la Section" options" de la machine virtuel ajouter en bas. mousebutton(6) = keystroke(WWWBack) mousebutton(7) = keystroke(WWWForward)